Multi-tasking processing systems include multiple processors and/or processing cores that provide parallel processing of tasks for the multi-tasking processing system. In some multi-tasking systems, tasks are scheduled at task initiation time by a work scheduler that selects a processing core from a pool of cores that are configured to perform multiple different tasks. Efficient scheduling of tasks to processing resources is desirable as this efficient scheduling improves the overall efficiency of the multi-tasking processing system. Prior solutions have tracked an amount of time a processing core takes to complete a task using a software method based on elapsed time of a free-running counter within the work scheduler. The overall processing times for the tasks to be completed by the processing cores can then be used by the work scheduler to schedule new tasks for the processing cores. The free-running counter, however, provides only general overall task completion time information, and the related software overhead can lead to degraded performance for the multi-tasking processing system.